The invention relates to testing computer program code (or software-testing), and more particularly to techniques for allowing software-tests to be supported (e.g., integrated) with software development environments and/or tools that can assist the software-testing process.
Broadly speaking, computer program code (or software) can be tested to determine how well it works. Computer software testing (or software-testing) is becoming an increasingly more important aspect of software development. There is also a desire to more rigorously formulize testing and integrate it more closely with the software development process rather than developing code and testing it in a separate development phase (typically after code has been developed). Accordingly, extensive efforts have been made by a number of entities to develop “testing-frameworks” which can formulize testing and more closely integrate testing with other aspects of software development, so that computer program code can be tested effectively as it is being written by computer programmers. One such testing-framework is a Java™-based testing-framework primarily known to those skilled in the art as the “JUnit Testing Framework” (or JUnit).
JUnit Testing Framework (or JUint), among other things, defines the structure of test cases (or scenarios) and provides testing-tools (or tools) that can be used to run the test cases. An individual test or a collection of tests (a test suite) that conforms to the JUnit Testing Framework can be developed as program code is being developed. Junit provides a Graphical User Interface (GUI) that displays the progress and result of the test. FIG. 1A depicts an exemplary screen that demonstrates a successful execution of a test in JUnit Testing Framework.
In addition, JUnit Testing Framework (JUint) is supported by a number of programming environments which are primarily known by those skilled in the art as “Integrated Development Environments” (IDEs). An Integrated Development Environment (IDE) in more conventional environments can, for example, be packaged as an application program that includes a code editor, a compiler, a debugger, and a graphical user interface (GUI) builder. The IDE may be a standalone application or may be included as part of one or more existing and compatible applications. The BASIC programming language, for example, can be used within Microsoft Office applications, which makes it possible to write a WordBasic program within the Microsoft Word application. Generally, more modern Integrated Development Environments” (IDEs) provide a user-friendly framework for many modern programming languages, such as Visual Basic, Java™, and PowerBuilder. As such, a testing-framework, (e.g., JUnit Testing Framework) can be integrated into an expansive integrated programming environment which includes numerous applications and tools, thereby allowing the testing-framework and effectively the testing process to further benefit from the additional applications and tools which have been developed or can be developed in the future.
A Java™-based “Integrated Development Environment” (IDE) which supports JUnit, for example, allows use of “wizards” as a tool for creating test suites, generating automatic test cases, and so on. By way of example, one such Integrated Development Environment is primarily known as the “IntelliJ IDEA” which provides a comprehensive development environment for Java™ programming. “IntelliJ IDEA” provides a set of tools which are useful to developers in areas such as coding assistance and automation. Other Java™-based Integrated Development Environments, for example include “Eclipse,” “Jbuilder,” “Net Beans,” as well as numerous others which have been or can be integrated with the JUnit testing-framework. The JUnit organization provides additional information about numerous Java™-based Integrated Development Environments or tools that can support the JUnit Testing Framework. It should be noted that the JUnit Testing Framework (JUnit) is supported by tools which may or may not be formally considered as a part of an “Integrated Development Environment” (IDE). By way of example, a builder-tool which is primarily known as the “Apache Ant” also supports the JUnit Testing Framework. The “Apache Ant,” among other things, can be used to generate build files which assist in compilation of Java™ source code.
In view of the foregoing, it should be apparent that Integrated Development Environments (IDE) and tools that can support more formulized and automated testing of computer program code are highly useful and an increasingly important aspect of modern software development.